/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package clases;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author CoLiSa
 */
public class ConsultaAnimales {

    public void Conectar() {

        try {
            mdbc = new conexion();
            mdbc.init();
            Connection conn = mdbc.getMyConnection();
            stmt = conn.createStatement();
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, "Problemas al conectarse a la Base de Datos", "Error", JOptionPane.ERROR_MESSAGE);
        }
    }

    public void ListarAnimalesExistentes(JTable jt) {
        DefaultTableModel modelo = new DefaultTableModel();
        jt.setModel(modelo);
        Conectar();
        String consultasql = "Select b.idSenasa as , b.numerofuego, b.fechaaplicacion, b.sexo, b.fechanacimiento, r.descripcion as 'Raza', tb.descripcion as 'Categoria'"
                + "       from  bovino b,raza r, tipobovino tb, estadoanimal ea "
                + "           where ea.idestadoanimal <> '2' and ea.idestadoanimal = b.idestadoanimal "
                + "              and  b.idraza = r.idraza and b.idtipobovino = tb.idtipobovino";

        try {
            ResultSet rs = stmt.executeQuery(consultasql);
            ResultSetMetaData rsmd = rs.getMetaData();
            // Se obtiene el número de columnas.
            int numeroColumnas = rsmd.getColumnCount();
            for (int i = 1; i <= numeroColumnas; i++) {
                modelo.addColumn(rsmd.getColumnLabel(i));
            }


            /*
             * // Se crea un array de etiquetas para rellenar Object[] etiquetas
             * = new Object[numeroColumnas];
             *
             * // Se obtiene cada una de las etiquetas para cada columna for
             * (int i = 0; i < numeroColumnas; i++) { // Nuevamente, para
             * ResultSetMetaData la primera columna es la 1. etiquetas[i] =
             * rsmd.getColumnLabel(i + 1); }
             *
             * modelo.setColumnIdentifiers(etiquetas);
             */

            //Creando las filas para el JTable
            while (rs.next()) {
                System.out.println(rs.getInt(1) + " " + rs.getString(2) + " " + rs.getDate(3));
                Object[] fila = new Object[numeroColumnas];
                for (int i = 0; i < numeroColumnas; i++) {
                    fila[i] = rs.getObject(i + 1);
                    //     System.out.println(rs.getString(i));
                }
                modelo.addRow(fila);
            }

        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage(), "Error  aqui", JOptionPane.ERROR_MESSAGE);
        }

    }
    private conexion mdbc;
    private Statement stmt;
}
